This invention generally relates to the field of digital rights management, and more particularly, to methods of transferring rights in licensed digital content in accordance with a digital rights policy in the content.
The Internet worldwide network, as well as other data communication networks, enables many digital appliances to interconnect and exchange information. Digital appliances include personal computers, laptop computers, tablet computers, personal digital assistants (PDAs), mobile phones, MP3 players, DVD players, gaming consoles, digital recording devices such as digital cameras, and others. A particular use of the Internet, and other networks such as cable and satellite or a corporate or organization network is to distribute digital files, specifically digital content files.
A digital content file includes data which have an end use of being either viewed, listened to, read, played, executed, or otherwise utilized by an end user, and at some point prior to end use is stored and/or represented in numerical form. A digital content file may be an audio file, a video file, a software file, an electronic book, a document, a computer game or other types of content.
Digital content files are often copyrighted, thereby placing legal limitations on the distribution and end use. For example, a user may typically not create a copy of, distribute, modify, sell, and/or perform other end uses of a copyrighted digital content file, without first receiving a license or other form of permission from the copyright owner. Examples of copyrighted digital content files are commercial movies, commercial music, electronic books, software, computer games, and the like. Copyrighted digital content files are increasingly being licensed and transferred by content providers to end user purchasers over the Internet.
In order to combat downloading and sharing of copyrighted digital content by parties that are not licensed to do so, and to enforce use of digital content according to licenses, various protection methods are employed by content owners. The collective term for the control of distribution and usage of digital content is digital rights management (DRM). DRM systems typically involve cryptographic methods for the secure distribution of the content between a server of a content repository and a digital appliance. Such methods typically require the digital appliance to include an implementation of cryptographic algorithms and hold cryptographic keys in order to gain access to the content.
In many cases the software application used to provide the digital content implements some form of DRM that is engaged when the user attempts to access the digital content. One of the operations performed by such an application is the process of decrypting the content file using cryptographic methods and cryptographic keys. In order to execute such operations, the application must have access to the cryptographic methods and keys; therefore the cryptographic methods and keys must reside within the reach of the application. Typically the cryptographic methods, the keys, or both, reside within the application, in the digital content file itself, or somewhere within the digital appliance storage.
A digital appliance such as a computer or PDA is typically an open platform enabling computer programmers to develop programs for it. In some cases, software programs are developed for the purpose of hacking and locating the cryptographic keys and algorithms of a DRM system, in order to circumvent the DRM and gain access to the content. This process is generally called an “attack” and if it succeeds it is commonly referred to as a “crack” or a “hack” to the DRM system. A computer program that performs this function is referred to hereafter as a hacking program or a cracking program.
Other forms of attacks include using programming tools. For example, software debuggers track and trap the digital content information after the application has decrypted it, retrieving the “protected” information. Such information includes the digital content file and metadata describing how it is to be presented. A hacking program that cracks the application and releases this information from the DRM system enables the construction of unauthorized copies of the original digital content file.
As a countermeasure, DRM systems can use more sophisticated cryptographic schemes and code obfuscation techniques. Other methods include adding tamper resistant hardware to store the cryptographic keys. Such solutions either reveal the cryptographic key to the digital appliance in the process of decrypting the information, or internally perform the cryptographic functions but reveal the end result in a raw form that can then be accessed.
A side effect that arises from the above content protection methods is that the software application that provides the digital content takes an active part in the protection process by implementing the above mentioned cryptographic methods and code obfuscation. Since the content protection implementation must be kept secret, it can be known solely by the organization that developed the software application. Furthermore, the content itself must be amended with cryptographic keys and data that are known only to that specific implementation, making the specific software application be the only software piece that can decrypt and provide the content. By tying content to be used by a specific software application, the type and variety of digital appliances that may be utilized to use the content is limited to the type and variety of the consumer electronic appliances that the organization that developed the application decides to support.
Another method that is partially effective in preventing digital content files from being copied and disseminated without control is the streaming of digital content files such as audio and video files to users. In this scenario, files are not downloaded to be stored on a digital appliance but rather “broadcast” much like a radio program. This ensures that only a small block of the content is present on the digital appliance at each given moment. The downside of this is that a user must be connected to the streaming source or online during the entire duration of the music program or movie. Another problem with streaming is that, in contrast to a file that is saved on the digital appliance storage, a user that has paid for content that is streamed cannot access the content at all times. Another shortcoming of streaming is that programs exist today for recording the streamed content and reconstructing a digital copy of the original digital content, without creating a noticeable difference to the human eye or ear.
In a more recent development, in order to increase the protection of content data files, cryptographic keys and algorithms are stored and executed in a dedicated DRM device that is separate from the digital appliance with which it operates. This technique is described in United States patent application publication no. 2004/0039932. It is preferably carried out on commercially available memory cards or flash drives as DRM devices, which have their own processing capability. Suitable memory cards are available from SanDisk Corporation, the assignee hereof, which include those sold under trademarks CompactFlash (CF), Multi-Media Card (MMC), Secure Digital (SD), MicroSD and Memory Stick PRO. These memory cards are removably connected with digital appliances through mating connectors that are different for most cards. SanDisk Corporation flash drives, sold under the Cruzer trademark, contain a plug according to the Universal Serial Bus (USB) standard, so can be plugged directly into any digital appliance having a USB receptacle.
A product and service utilizing dedicated DRM devices to store books and other documents are provided by SanDisk Corporation under its trademarks BookLocker and FlashCP. An end user typically downloads data of books and documents from the Internet into a DRM device, which is a flash drive, through a digital appliance to which it is connected. The data are stored in a portion of the non-volatile flash memory of the DRM device that is not accessible by a digital appliance to which the DRM device is connected. Rather, the data are accessed by the processor internal of the DRM device, and then sent to the digital appliance one page at a time for display to the end user. This generation of document page images makes it very difficult for an unauthorized copy of the documents data files stored in the DRM device to be made.
When a book is purchased, data of the book are downloaded into an end user's DRM device. In addition to receiving data of the book content, the end user receives data of a license that has been purchased to use the book, and this license is also stored in the non-volatile memory. The license defines the rights of the end user in the data content. The book may be read by the end user, within the terms of the license, when the DRM device into which data of the book are stored is connected with a digital appliance having a suitable visual display. Rights to use the data content are not limited to any specific digital appliance or type of digital appliance. A digital appliance with which a DRM device can be used need not retain keys, security algorithms or the like; these are contained within and processed by the DRM device.